namespace CriticalSystems.Instrumentation.LogWriters
{
    public class LogSource
    {
        private const string DefaultInstance = "default";
        private string instance = DefaultInstance;
        private string process;
        private string thread;
        private string identity;
        private string subsystem;
        private string module;
        private string component;
        private string function;

        public string Subsystem
        {
            get { return this.subsystem; }
            set { this.subsystem = value; }
        }
        public string Module
        {
            get { return this.module; }
            set { this.module = value; }
        }
        public string Component
        {
            get { return this.component; }
            set { this.component = value; }
        }
        public string Function
        {
            get { return this.function; }
            set { this.function = value; }
        }
        public string Identity
        {
            get { return this.identity; }
            set { this.identity = value; }
        }
        public string Thread
        {
            get { return this.thread; }
            set { this.thread = value; }
        }
        public string Process
        {
            get { return this.process; }
            set { this.process = value; }
        }

        public string Instance
        {
            get { return this.instance; }
            set { this.instance = value; }
        }
    }
}